<?php


namespace App\Admin\Extensions;


use Dcat\Admin\Grid\Exporters\AbstractExporter;
use Illuminate\Support\Facades\Log;
use Maatwebsite\Excel\Facades\Excel;
use PHPExcel_Worksheet_Drawing;


class ExcelExpoter extends AbstractExporter
{
    public function export()
    {
        //定义文件名称为日期拼上uniqid()
        $fileName = date('YmdHis') . '.xlsx';

        Excel::download(function ($excel) {
            $excel->sheet('Sheet1', function ($sheet) {
                // 最多导出10W条数据
                // 必须设置maxSize，当否则选择导出所有选项时只能导出默认的20条数据。
                $maxSize = 10000;
                //init列
                $title_array = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
                    'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH'];

                // 这段逻辑是从表格数据中取出需要导出的字段
                $rows = collect($this->buildData(1, $maxSize))->map(function ($item) {
                    return array_only($item, ['id', 'studentName']);
                });
                dd($rows);
                $sheet->rows($rows);
            });
        }, $fileName);
    }
}
